package com.todo.content.iface.frontend.response;

import com.todo.common.common.entity.BaseUserVO;
import io.swagger.v3.oas.annotations.media.Schema;
import lombok.Data;

import java.util.List;

/**
 * @author azhebuxing
 * @date 2024/5/9 14:22
 * @description
 */
@Data
public class ContentDetailVO {

    @Schema(title = "内容ID", description = "内容ID")
    private Long contentId;

    @Schema(title = "基础用户信息", description = "基础用户信息")
    private BaseUserVO userVO;

    @Schema(title = "内容标题", description = "内容标题")
    private String title;

    @Schema(title = "内容详情", description = "内容详情")
    private String content;

    @Schema(title = "主图", description = "主图")
    private String mainImg;

    @Schema(title = "分类code", description = "分类code")
    private String classifyCode;

    @Schema(title = "是否允许评论", description = "是否允许评论")
    private Integer allowComment;

    @Schema(title = "浏览数", description = "浏览数")
    private Integer seeCount;

    @Schema(title = "点赞数", description = "点赞数")
    private Integer likeCount;

    @Schema(title = "评论数", description = "评论数")
    private Integer commentCount;

    @Schema(title = "当前状态", description = "当前状态")
    private Integer status;

    @Schema(title = "当前状态描述", description = "当前状态描述")
    private String statusStr;

    @Schema(title = "关联图片列表", description = "关联图片列表")
    private List<String> relationImgList;

    @Schema(title = "是否私有", description = "是否私有")
    private Integer isPrivate;

    @Schema(title = "关联列表", description = "关联列表")
    private List<Relation> relationList;

    @Schema(title = "是否属于当前用户", description = "是否属于当前用户")
    private Boolean belongCurrentUser;


    @Data
    public static class Relation{

        @Schema(title = "关联类型", description = "关联类型：各类业务数据")
        private Integer relationType;

        @Schema(title = "关联类型中文描述", description = "关联类型：各类业务数据")
        private String relationTypeStr;

        @Schema(title = "关联id", description = "关联id，内部存在")
        private Long relationId;

        @Schema(title = "关联名称", description = "关联名称")
        private String relationName;

        @Schema(title = "关联图片", description = "关联图片")
        private String relationImg;

        @Schema(title = "跳转url", description = "跳转url")
        private String jumpUrl;

        @Schema(title = "是否站外", description = "是否站外")
        private Integer isOutside;

        @Schema(title = "排序", description = "排序")
        private Integer sort;
    }
}
